package com.testing.class6.RoyPO;

import com.testing.common.AutoTools;
import com.testing.web.WebKeyword;
import org.openqa.selenium.WebDriver;

import javax.xml.bind.SchemaOutputResolver;

/**
 * @Classname ShopBuyPage
 * @Description 按PO设计模式进行封装
 * @Date 2022/10/10 20:08
 * @Created by 特斯汀Roy
 */
public class ShopBuyPage extends WebKeyword {
    //url
    private String buyUrl ="http://www.testingedu.com.cn:8000/";

    //管理的元素
    private String 首页登录元素="//a[text()='登录']";
    private String 用户名输入框="//input[@id='username']";
    private String 密码输入框="//input[@id='password']";

    //构造方法，打开网页
    public ShopBuyPage() {
        AutoTools.log.info("前台的购买测试开始了");
        openBrowser("chrome");
        visitWeb(buyUrl);
    }

    public ShopBuyPage(WebDriver driver){
        log.info("通过外部打开浏览器进行购买测试");
        setDriver(driver);
        visitWeb(buyUrl);
    }

    //搜索商品的业务流程
    public void searchGoods() {
        saveParam("返回xpath","//a[text()=\"返回商城首页\"]");
        click("{返回xpath}");
        input("//input[@id='q']","{随机商品}" );
        click("//button[text()='搜索']");
        halt("2");

        click("//a[text()='加入购物车']");
        switchFrame("layui-layer-iframe1");
        click("//a[text()='去购物车结算']");
        click("//a[text()='去结算']");
        //实际上大部分网页，浏览器是可以自己完成滚动操作的。
        click("//button[contains(text(),'提交订单')]");
        assertEleText(".erhuh>h3","提交成功");
        halt("3");
        log.info("参数存储map的内容"+paramMap);
    }

    //登录首页
    public void loginBuy() {
        click(首页登录元素);
        input(用户名输入框,"13800138006");
        input(密码输入框,"123456");
        input("//input[@id='verify_code']","1");
        click("//a[@name=\"sbtbutton\"]");
    }

    public void close(){
        closeBrowser();
    }


}
